#ifndef  __mincost_ns_h_
#define __mincost_ns_h_
// cpp header used internally by algorithms

#include <vector>
#include <set>

//#include "mincost.hpp"

#include "input_t.h"
#include "output_t.h"

#include "nametable.hpp"

typedef std::string vertex_name_t;  //can use C++ types; o.w. use const char *
typedef std::string edge_name_t;
typedef std::tuple<vertex_name_t, vertex_name_t, int, int, edget_cost_t, int, edge_name_t> edge_t; //o, d, cap, cost, value, vname

using Weight = int;

using Capacity = int;


int mincost_ns(std::vector<edge_t>&edges, const nametable<vertex_name_t>& vertex_nt, vertex_name_t s, vertex_name_t t, Capacity requiredFlow, Weight& totalCost);

#endif //__mincost_ns_h_
